library verilog;
use verilog.vl_types.all;
entity cmsdk_mcu_system is
    generic(
        BASEADDR_GPIO0  : integer := 1073807360;
        BASEADDR_GPIO1  : integer := 1073811456;
        BE              : integer := 0;
        BKPT            : integer := 4;
        DBG             : integer := 1;
        NUMIRQ          : integer := 32;
        SMUL            : integer := 0;
        SYST            : integer := 1;
        WIC             : integer := 0;
        WICLINES        : integer := 34;
        WPT             : integer := 2;
        BASEADDR_SYSROMTABLE: vl_logic_vector(31 downto 0) := (Hi1, Hi1, Hi1, Hi1, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0)
    );
    port(
        FCLK            : in     vl_logic;
        HCLK            : in     vl_logic;
        DCLK            : in     vl_logic;
        SCLK            : in     vl_logic;
        HRESETn         : in     vl_logic;
        PORESETn        : in     vl_logic;
        DBGRESETn       : in     vl_logic;
        PCLK            : in     vl_logic;
        PCLKG           : in     vl_logic;
        PRESETn         : in     vl_logic;
        PCLKEN          : in     vl_logic;
        HADDR           : out    vl_logic_vector(31 downto 0);
        HTRANS          : out    vl_logic_vector(1 downto 0);
        HSIZE           : out    vl_logic_vector(2 downto 0);
        HWRITE          : out    vl_logic;
        HWDATA          : out    vl_logic_vector(31 downto 0);
        HREADY          : out    vl_logic;
        flash_hsel      : out    vl_logic;
        flash_hreadyout : in     vl_logic;
        flash_hrdata    : in     vl_logic_vector(31 downto 0);
        flash_hresp     : in     vl_logic;
        sram_hsel       : out    vl_logic;
        sram_hreadyout  : in     vl_logic;
        sram_hrdata     : in     vl_logic_vector(31 downto 0);
        sram_hresp      : in     vl_logic;
        boot_hsel       : out    vl_logic;
        boot_hreadyout  : in     vl_logic;
        boot_hrdata     : in     vl_logic_vector(31 downto 0);
        boot_hresp      : in     vl_logic;
        APBACTIVE       : out    vl_logic;
        SLEEPING        : out    vl_logic;
        SLEEPDEEP       : out    vl_logic;
        SYSRESETREQ     : out    vl_logic;
        WDOGRESETREQ    : out    vl_logic;
        LOCKUP          : out    vl_logic;
        LOCKUPRESET     : out    vl_logic;
        PMUENABLE       : out    vl_logic;
        nTRST           : in     vl_logic;
        SWDITMS         : in     vl_logic;
        SWCLKTCK        : in     vl_logic;
        TDI             : in     vl_logic;
        TDO             : out    vl_logic;
        nTDOEN          : out    vl_logic;
        SWDO            : out    vl_logic;
        SWDOEN          : out    vl_logic;
        RXd             : in     vl_logic;
        TXd             : out    vl_logic;
        TXen            : out    vl_logic;
        uart1_rxd       : in     vl_logic;
        uart1_txd       : out    vl_logic;
        uart1_txen      : out    vl_logic;
        uart2_rxd       : in     vl_logic;
        uart2_txd       : out    vl_logic;
        uart2_txen      : out    vl_logic;
        timer0_extin    : in     vl_logic;
        timer1_extin    : in     vl_logic;
        p0_in           : in     vl_logic_vector(15 downto 0);
        p0_out          : out    vl_logic_vector(15 downto 0);
        p0_outen        : out    vl_logic_vector(15 downto 0);
        p0_altfunc      : out    vl_logic_vector(15 downto 0);
        p1_in           : in     vl_logic_vector(15 downto 0);
        p1_out          : out    vl_logic_vector(15 downto 0);
        p1_outen        : out    vl_logic_vector(15 downto 0);
        p1_altfunc      : out    vl_logic_vector(15 downto 0);
        DFTSE           : in     vl_logic
    );
    attribute mti_svvh_generic_type : integer;
    attribute mti_svvh_generic_type of BASEADDR_GPIO0 : constant is 1;
    attribute mti_svvh_generic_type of BASEADDR_GPIO1 : constant is 1;
    attribute mti_svvh_generic_type of BE : constant is 1;
    attribute mti_svvh_generic_type of BKPT : constant is 1;
    attribute mti_svvh_generic_type of DBG : constant is 1;
    attribute mti_svvh_generic_type of NUMIRQ : constant is 1;
    attribute mti_svvh_generic_type of SMUL : constant is 1;
    attribute mti_svvh_generic_type of SYST : constant is 1;
    attribute mti_svvh_generic_type of WIC : constant is 1;
    attribute mti_svvh_generic_type of WICLINES : constant is 1;
    attribute mti_svvh_generic_type of WPT : constant is 1;
    attribute mti_svvh_generic_type of BASEADDR_SYSROMTABLE : constant is 1;
end cmsdk_mcu_system;
